package com.gimi.cloud.jimi.dto.core;

import com.gimi.cloud.jimi.dto.base.BaseDTO;
import org.springframework.beans.BeanUtils;

/**
 * api配置文件实体
 * @author wbj
 * @version 2.0
 * @since 2016年12月15日 17时36分16秒
 */
public class ApiConfigDTO extends BaseDTO {
	
	private static final long serialVersionUID = 1L;

    private long id;
    /**
     * 接口名称
     */
    private String name;
    /**
     * 接口英文标识，唯一性
     */
    private String nid;
    /**
     * 请求地址
     */
    private String url;
    /**
     * 关键值，判断正确性，多个以逗号分隔
     */
    private String keyCode;
    /**
     * 正确的返回值
     */
    private String realCode;
    /**
     * 获取code的解析路径以逗号分隔（a,b,c,d）,逐级递增
     */
    private String codePath;
    
    /**
     * 状态（1：有效，0：无效）
     */
    private int status;
    /**
     * 请求参数,存储身份信息JSON格式数据
     */
    private String params;
    /**
     * 请求头信息JSON格式
     */
    private String header;
    /**
     * 请求编码
     */
    private String charset;
    /**
     * 请求次数
     */
    private int postTime;
    /**
     * 成功次数
     */
    private int suceessTime;
    /**
     * 结果处理相关配置
     */
    private String result;
    /**
     * 备份请求地址名称
     */
    private String backupNid;
    
    /**
     * 获取
     * 
     * @return 
     */
    public long getId(){
        return id;
    }
	
    /**
     * 设置
     * 
     * @param id 要设置的
     */
    public void setId(long id){
        this.id = id;
    }
    
    /**
     * 获取接口名称
     * 
     * @return 接口名称
     */
	public String getName(){
        return name;
    }
	
    /**
     * 设置接口名称
     * 
     * @param name 要设置的接口名称
     */
	public void setName(String name){
	    this.name = name;
	}
    
    /**
     * 获取接口英文标识，唯一性
     * 
     * @return 接口英文标识，唯一性
     */
	public String getNid(){
        return nid;
    }
	
    /**
     * 设置接口英文标识，唯一性
     * 
     * @param nid 要设置的接口英文标识，唯一性
     */
	public void setNid(String nid){
	    this.nid = nid;
	}
    
    /**
     * 获取请求地址
     * 
     * @return 请求地址
     */
	public String getUrl(){
        return url;
    }
	
    /**
     * 设置请求地址
     * 
     * @param url 要设置的请求地址
     */
	public void setUrl(String url){
	    this.url = url;
	}
    
    /**
     * 获取关键值，判断正确性，多个以逗号分隔
     * 
     * @return 关键值，判断正确性，多个以逗号分隔
     */
	public String getKeyCode(){
        return keyCode;
    }
	
    /**
     * 设置关键值，判断正确性，多个以逗号分隔
     * 
     * @param keyCode 要设置的关键值，判断正确性，多个以逗号分隔
     */
	public void setKeyCode(String keyCode){
	    this.keyCode = keyCode;
	}
    
    /**
     * 获取正确的返回值
     * 
     * @return 正确的返回值
     */
	public String getRealCode(){
        return realCode;
    }
	
    /**
     * 设置正确的返回值
     * 
     * @param realCode 要设置的正确的返回值
     */
	public void setRealCode(String realCode){
	    this.realCode = realCode;
	}
    
    /**
     * 获取获取code的解析路径以逗号分隔（a,b,c,d）,逐级递增
     * 
     * @return 获取code的解析路径以逗号分隔（a,b,c,d）,逐级递增
     */
	public String getCodePath(){
        return codePath;
    }
	
    /**
     * 设置获取code的解析路径以逗号分隔（a,b,c,d）,逐级递增
     * 
     * @param codePath 要设置的获取code的解析路径以逗号分隔（a,b,c,d）,逐级递增
     */
	public void setCodePath(String codePath){
	    this.codePath = codePath;
	}
	/**
	 * 获取状态（1：有效，0：无效） 
	 * @return 状态（1：有效，0：无效）
	 */
	public int getStatus() {
		return status;
	}
	/**
	 * 设置 状态（1：有效，0：无效）
	 * @param status 状态（1：有效，0：无效）
	 */
	public void setStatus(int status) {
		this.status = status;
	}

	public String getParams() {
		return params;
	}

	public void setParams(String params) {
		this.params = params;
	}

	public String getHeader() {
		return header;
	}

	public void setHeader(String header) {
		this.header = header;
	}

	public String getCharset() {
		return charset;
	}

	public void setCharset(String charset) {
		this.charset = charset;
	}

	public int getPostTime() {
		return postTime;
	}

	public void setPostTime(int postTime) {
		this.postTime = postTime;
	}

	public int getSuceessTime() {
		return suceessTime;
	}

	public void setSuceessTime(int suceessTime) {
		this.suceessTime = suceessTime;
	}

	public String getResult() {
		return result;
	}

	public void setResult(String result) {
		this.result = result;
	}

	public String getBackupNid() {
		return backupNid;
	}

	public void setBackupNid(String backupNid) {
		this.backupNid = backupNid;
	}
	
	public static ApiConfigDTO getInstance(Object obj){
		ApiConfigDTO apiConfig= new ApiConfigDTO();
		BeanUtils.copyProperties(obj, apiConfig);
		return apiConfig;
	}
}


